﻿using System.Collections.Generic;
using SQEX.Luminous.Core.Object;

namespace SQEX.Ebony.Framework.Entity
{
    public partial class EntityGroup : Entity
    {/*
        new public static ObjectType ObjectType { get; private set; }
        private static PropertyContainer fieldProperties;

        public List<Entity> entities_ { get; } = new List<Entity>();
        public bool hasTransform_ { get; set; }
        public float[] position_ { get; }
        public float[] rotation_ { get; }
        public float scaling_ { get; set; }
        public bool canManipulate_ { get; set; }

        new public static void SetupObjectType()
        {
            if (ObjectType != null)
            {
                return;
            }

            var dummy = new EntityGroup();
            var properties = dummy.GetFieldProperties();

            ObjectType = new ObjectType("SQEX.Ebony.Framework.Entity.EntityGroup", 0, Entity.ObjectType, Construct, properties, 1, 208);
        }

        public override ObjectType GetObjectType()
        {
            return ObjectType;
        }

        protected override PropertyContainer GetFieldProperties()
        {
            if (fieldProperties != null)
            {
                return fieldProperties;
            }

            fieldProperties = new PropertyContainer("SQEX.Ebony.Framework.Entity.EntityGroup", base.GetFieldProperties(), -19257582, -76626717);
            fieldProperties.AddProperty(new Property("entities_", 798990575, "SQEX.Ebony.Std.IntrusivePointerDynamicArray< SQEX.Ebony.Framework.Entity.Entity >", 64, 16, 1, Property.PrimitiveType.IntrusivePointerArray, 0, (char)5));
            fieldProperties.AddProperty(new Property("hasTransform_", 3096138238, "bool", 88, 1, 1, Property.PrimitiveType.Bool, 0, (char)0));
            fieldProperties.AddProperty(new Property("position_", 987254735, "Luminous.Math.VectorA", 96, 16, 1, Property.PrimitiveType.Vector4, 0, (char)0));
            fieldProperties.AddProperty(new Property("rotation_", 36328192, "Luminous.Math.VectorA", 112, 16, 1, Property.PrimitiveType.Vector4, 0, (char)0));
            fieldProperties.AddProperty(new Property("scaling_", 3325430311, "float", 128, 4, 1, Property.PrimitiveType.Float, 0, (char)0));
            fieldProperties.AddProperty(new Property("canManipulate_", 3989276646, "bool", 132, 1, 1, Property.PrimitiveType.Bool, 0, (char)0));
            return fieldProperties;
        }
        
        private static BaseObject Construct()
        {
            return new EntityGroup();
        }*/
    }
}
